package com.cyh.testdesignpattern.decorator;
/**
 * 装饰者模式：比如星巴克咖啡，有单品咖啡：英式咖啡、美式咖啡；有调料：牛奶、巧克力， 计费方式是单品咖啡+调料， 调料可以为null。
 *   如果单品和调料相互组合会出现类爆炸，不可取。 如果单品类中聚合调料，因为调料没有共性不会有共同的接口，所以需要很多判断方法，不可取。
 *
 *   定义：动态的将新功能附加到对象上。
 *       将单品咖啡聚合到调料中。
 *       装饰者继承了饮料并且聚合了饮料：单品咖啡=》单品咖啡（装饰者）+调料1 =》 （单品咖啡 + 调料1）(装饰者) + 调料2
 * */
public class Test05 {
}
